package map;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

/**
 * Map接口：
 * 1.所有双列集合的顶级接口，规定了所有双列集合的共有功能
 * 2.Map体现的结果是一个多行两列的表格，其中左列称为key键，右列称为value值，
 *   Map总是成对保存数据，每一对称为一个“Enter”条目，并且总是根据key获取对应的value
 * 3.Map要求：key不允许重复，但value可以重复---重复与否的判断依据为equals()+hashCode()
 * 4.常用实现类：
 *    1)HashMap：不重复、无下标、无序(存取顺序不一致)
 *    2)LinkedHashMap:不重复、无下标、有序(存取顺序一致)
 */
public class MapDemo1 {
    public static void main(String[] args) {
        Map<String,Integer> map = new HashMap<>();
        map.put("语文",99);
        map.put("数学",100);
        map.put("英语",88);
        map.put("物理",96);
        map.put("化学",80);
        System.out.println(map);  //{物理=96, 数学=100, 化学=80, 语文=99, 英语=88}

        Integer value = map.put("物理",50);  //替换操作
        System.out.println(value);  //"物理"原来对应的值：96
        System.out.println(map);  //{物理=50, 数学=100, 化学=80, 语文=99, 英语=88}

        value = map.put("政治",99);
        System.out.println(value); //若不是替换操作则返回null
        System.out.println(map);  //{政治=99, 物理=50, 数学=100, 化学=80, 语文=99, 英语=88}


    }
}
